﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;

namespace NutriLeaf.Web.Core.Calorie
{
    public interface ICalorie
    {
        void InsertCalorieCount(int calories, int userId, string description, string metadata, DateTime clientDateTime,ref NutriLeaf.Web.Model.NutriLeafDBEntities context);

        void InsertCalorieCount(Model.CalorieDiary calorie, ref NutriLeaf.Web.Model.NutriLeafDBEntities context);

        void UpdateCalorieCount(Model.CalorieDiary calorie, ref NutriLeaf.Web.Model.NutriLeafDBEntities context);

        int GetCaloriesForADay(int userId, DateTime clientDatetime, ref NutriLeaf.Web.Model.NutriLeafDBEntities context);

        void RemoveRecentCalorieUpdate(int userId, ref NutriLeaf.Web.Model.NutriLeafDBEntities context);

        void RemoveCalorieDiaryEntry(int calorieId, ref NutriLeaf.Web.Model.NutriLeafDBEntities context);

        List<Model.CalorieDiary> GetCalorieCountForADay(int userId, DateTime clientDatetime, ref NutriLeaf.Web.Model.NutriLeafDBEntities context);

        Model.CalorieDiary GetCalorie(int calorieId, ref NutriLeaf.Web.Model.NutriLeafDBEntities context);

        List<Model.CalorieDiary> GetCalorieCount(int userId, DateTime clientDatetimeStart, DateTime clientDateTimeEnd, ref NutriLeaf.Web.Model.NutriLeafDBEntities context);

        int GetTodayCalorieIntakeDifference(int userId, DateTime clientDateTime, ref NutriLeaf.Web.Model.NutriLeafDBEntities context); //get the total calor needs for the user in a day (UserProfile) and subtract that from todays calorie count and return the result.

    }
}